/*
 * @file: Logger.h
 *
 * @data: 2010-11-16
 *
 * @author: Pawel Marchewka
 */

#ifndef LOGGER_H_
#define LOGGER_H_

#include <sstream>
#include <fstream>

/**@brief Klasa reprezentujaca sposob zapisu do pliku
 *
 * Klasa sluzy do zapisywania komunikatow do pliku tekstowego,
 * aby stwierdzic czy jest blad i w ktorym miejscu w module pokoju
 */
class Logger {
public:
	void open(const char * name);
	void write(const std::stringstream &ostream);
	void write(const char * str);
	void write(const std::string & str);
	/**
	 * Wzorzec projektowy singleton 
	 */
	static Logger& getInstance()
	{
		static Logger logger;
		return logger;
	}
private:
	Logger();

	virtual ~Logger();

private:

	
	std::fstream file;

};

#endif 
